package com.threez.system.service.enums;

import com.threez.core.exception.enums.BaseExceptionEnums;
import lombok.AllArgsConstructor;

@AllArgsConstructor
public enum SysExceptionEnum implements BaseExceptionEnums {
    SYSTEM_ERROR("10001", "操作失败"),
    SUPER_MANAGEMENT_USER_ERROR("10002", "不允许操作超级管理员用户"),
    PERMISSION_ACCESS_ERROR("10003", "没有权限访问用户数据！"),
    SUPER_ROLE_ACCESS_ERROR("10004", "不允许操作超级管理员角色！"),
    ROLE_ACCESS_ERROR("10005", "没有权限访问角色数据！"),
    ROLE_NOT_DELETE_ERROR("10006", "{}已分配,不能删除"),
    DEPT_NOT_SCOPE_ERROR("10007", "没有权限访问部门数据！"),
    DEPT_STOP_ADD_ERROR("10008", "部门停用，不允许新增"),
    PARAM_NOT_DELETE_ERROR("10009", "内置参数【{}】不能删除"),

    LOWER_DEPT_ERROR("10010", "存在下级部门,不允许删除"),
    DEPT_USER_ERROR("10011", "部门存在用户,不允许删除"),
    LOWER_DEPT_NOT_DELETE_ERROR("10012", "存在子菜单,不允许删除"),
    MENU_CONTIAN_ID_NOT_DELETE_ERROR("10013", "菜单已分配,不允许删除"),

    USER_NOT_EXISTS("10014", "用户：{}，不存在"),
    USER_STOP("10015", "用户：{}，已停用"),
    SYSTEM_NOT_REGIEST("10016", "当前系统没有开启注册功能"),
    USER_NAME_NOT_REPEAT("10017", "用户命不唯一"),

    CAPTCHA_EXPIRE_EXCEPTION("10018", "验证码已失效"),
    USER_REGISTER_ERROR("10019", "注册失败，请联系系统管理人员"),

    PASSWORD_RETRY_LIMIT_EXCEED("10020", "密码输入错误{}次，帐户锁定{}分钟"),
    PASSWORD_RETRY_LIMIT_COUNT("10021", "密码输入错误{}次"),

    SMS_CODE_RETRY_LIMIT_EXCEED("10022", "短信验证码输入错误{}次，帐户锁定{}分钟"),
    SMS_CODE_RETRY_LIMIT_COUNT("10023", "短信验证码输入错误{}次"),
    ;
    private String code;
    private String msg;

    @Override
    public String getCode() {
        return code;
    }

    @Override
    public void setCode(String code) {
        this.code = code;
    }

    @Override
    public String getMsg() {
        return msg;
    }

    @Override
    public void setMsg(String msg) {
        this.msg = msg;
    }

    @Override
    public String getModuleName() {
        return "system";
    }
}
